import unicodedata

## Lise (001-100)
## LiseXML (101-200)
# 101: Error reading the LiSe XML file ...
# 102: Error parsing the LiSe XML file ...
# 150: Error filling in the XML LiSe template
# 151: Error generating the XML LiSe file
# 152: Error writing the XML LiSe file ...
## LiseDigi (201-300)
# 201: No digitised pictures subdirectory found at ...
# 202: Inconsistent digitised pictures data between the XML file and the files retrieved from the filesystem
## LisePDF (301-400)
# 301: Picture directory path not found ...
# 302: PDF directory path not found ...
# 350: Error filling in the XML LiSe template
# 351: Error creating/writing the XML LiSe
## LiseWeb (401-500)
# 401: There is a different number of pages defined in the index of each langauge
# 402: There are more pictures defined in the Spanish index than the number of digitised pictures
# 403: There are more pictures defined in the English index than the number of digitised pictures
## PyNakes (501-600)
## GUIPyNakes (601-700)
# 601: First you must open or create a LiSe file
# 602: First you must select a digitisations subdirectory (in the General settings tab)
# 603: First you must select a website template (in the General settings tab)
# 604: No changes to save
# 605: LiSe file path has changed. Please select Save As
## GUIMainPyNakes (701-800)
#
## PictureConverter (1001-1100)
## GUIPictureConverter (1101-1200)



## XMLBook (1-10)
# 1: El fichero no existe
# 2: Error abriendo el fichero
# 3: Error validando el fichero XML contra un DTD
# 4: Error parseando el fichero XML
# 5: Error almacenando el fichero XML
## WidgetBook (11-20)
## Template (21-30)
# 21: Error leyendo el listado de plantillas disponible
# 22: Error leyendo el fichero de informacion de una plantilla
# 23: El modulo lxml no se encuentra
# 24: Error parseando el fichero de informacion de una plantilla
## Pictures (31-40)
# 31: Encontrado un fichero de imagen sin nombre canonico
# 32: Error al ejecutar el comando sips para obtener las dimensiones de los ficheros de imagen
# 33: Error analizando la salida del comando sips para obtener las dimensiones de los ficheros de imagen
# 34: Error al recuperar la lista de ficheros de imagenes digitalizadas
## AutoLiSe (41-50)
## GUIBook (51-60)
## GUIAutoLiSe (61-70)
# 61: Error guardando el fichero LaTeX generado
# 62: Error generando el fichero PDF
# 62: Error almacenando el fichero PDF generado
## GUITemplate (71-80)
## XautoLiSe (81-90)



class Error(Exception):

	def __init__(self, code, msg):
		self.code = code
		self.msg = msg

	def __str__(self):
		return "Error " + str(self.code) + ": " + unicodedata.normalize('NFKD', unicode(self.msg)).encode('ascii', 'ignore')

